/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vigas.componentes;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 *
 * @author Lidiany
 */
public class ApoioMovel implements Apoio {

    private Point pontoMarcadoNaviga;
    private String labelResultante = null;
    private Float resultanteX = null;
    private Float resultanteY = null;

    public void desenharApoio(Graphics g, Color cor) {

        Graphics2D g2 = (Graphics2D) g.create();
        g2.setColor(cor);

        int pontoX = pontoMarcadoNaviga.x;
        int pontoY = pontoMarcadoNaviga.y + 8;
        g2.drawLine(pontoX - 15, pontoY + 25, pontoX, pontoY);
        //seg lado
        g2.drawLine(pontoX + 15, pontoY + 25, pontoX, pontoY);
        //base
        g2.drawLine(pontoX - 15, pontoY + 25, pontoX + 15, pontoY + 25);
        //parte movel
        g2.drawLine(pontoX - 15, pontoY + 30, pontoX + 15, pontoY + 30);
        // setResultante("Rb", 0, 0);
        if (labelResultante != null && resultanteX != null && resultanteY != null) {
            g2.setColor(Color.red);

            String rx, ry;
            NumberFormat format = new DecimalFormat("##.###");
            rx = format.format( resultanteX );
            ry = format.format( resultanteY );

            String resultanteDasForcas = labelResultante + "x: " + rx + "kN";
            g2.drawString(resultanteDasForcas, pontoX - 15, pontoY + 45);

            resultanteDasForcas = labelResultante + "y: " + ry + "kN";
            g2.drawString(resultanteDasForcas, pontoX - 15, pontoY + 60);

        }



        g2.dispose();

//    
    }

    public Point getPontoMarcadoNaviga() {
        return pontoMarcadoNaviga;
    }

    public void setPontoMarcadoNaviga(Point pontoMarcadoNaviga) {
        this.pontoMarcadoNaviga = pontoMarcadoNaviga;
    }

    @Override
    public String toString() {
        return "Móvel";
    }

    public void setResultante(String label, float valorX, float valorY) {
        this.labelResultante = label;
        this.resultanteX = valorX;
        this.resultanteY = valorY;
    }
}
